import numpy as np

# asarray使用 -- 从已有的数组中创建数组

# 通过列表创建数组
n1 = np.asarray([1, 2, 3, 4])
print(n1)

# 通过元组列表创建数组
n2 = np.asarray([(1, 2, 3), (4, 5, 6), (7, 8, 9)])
print(n2)

# 通过元组创建数组
n3 = np.asarray((1, 2, 3))
print(n3)

# 通过元组的元组创建数组
n4 = np.asarray(((1, 2, 3), (4, 5, 6), (7, 8, 9)))
print(n4)

# 通过列表元组创建数组
n5 = np.asarray(([1, 2, 3], [4, 5, 6], [7, 8, 9]))
print(n5)

# 动态数组
n6 = np.frombuffer(b'juanzijie', dtype='S1')  # S1表示单个字符串是一个字符
print(n6)

# 从迭代对象中创建数组对象
iter = (i for i in range(5))
n7 = np.fromiter(iter, dtype='int')
print(n7)

# empty_like的使用 -- 按照一定的模版，创建数据类型不定的数组
n8 = np.empty_like([[1, 2], [3, 4]])  # 创建一个2行2列的数组，因为给定的是2行2列
print(n8)

# 创建一个以0填充的，2行2列的数组
n9 = np.zeros_like([[1, 2], [3, 4]])
print(n9)

# 创建一个以1填充的，2行2列的数组
n10 = np.ones_like([[1, 2], [3, 4]])
print(n10)

# 创建一个以指定数据填充的，2行2列的数组
n11 = np.full_like([[1, 2], [3, 4]], 8)
print(n11)
